From f736b071b45a06aff1f351b5527cb8a1016ca409 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 4 May 2017 20:48:50 +0200 Subject: [PATCH] spinbutton: Add text property --- docs/reference/gtk/gtk4-sections.txt | 2 ++ gtk/gtkspinbutton.c | 49 ++++++++++++++++++++++++++++ gtk/gtkspinbutton.h | 5 +++ 3 files changed, 56 insertions(+) diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt index 769a5f74ee..be34e70dbd 100644 --- a/docs/reference/gtk/gtk4-sections.txt +++ b/docs/reference/gtk/gtk4-sections.txt @@ -2739,6 +2739,8 @@ gtk_spin_button_get_snap_to_ticks gtk_spin_button_get_update_policy gtk_spin_button_get_value gtk_spin_button_get_wrap +gtk_spin_button_set_text +gtk_spin_button_get_text GTK_INPUT_ERROR GTK_SPIN_BUTTON diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 4947f4c22e..a105a3a6d8 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -220,6 +220,7 @@ enum { PROP_VALUE, PROP_WIDTH_CHARS, PROP_MAX_WIDTH_CHARS, + PROP_TEXT, PROP_ORIENTATION, }; @@ -414,6 +415,14 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) -1, GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); + g_object_class_install_property (gobject_class, + PROP_TEXT, + g_param_spec_string ("text", + P_("Text"), + P_("The contents of the entry"), + "", + GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); + g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); @@ -615,6 +624,9 @@ gtk_spin_button_set_property (GObject *object, case PROP_MAX_WIDTH_CHARS: gtk_entry_set_max_width_chars (GTK_ENTRY (priv->entry), g_value_get_int (value)); break; + case PROP_TEXT: + gtk_entry_set_text (GTK_ENTRY (priv->entry), g_value_get_string (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -665,6 +677,8 @@ gtk_spin_button_get_property (GObject *object, case PROP_MAX_WIDTH_CHARS: g_value_set_int (value, gtk_entry_get_max_width_chars (GTK_ENTRY (priv->entry))); break; + case PROP_TEXT: + g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->entry))); default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2253,3 +2267,38 @@ gtk_spin_button_update (GtkSpinButton *spin_button) else gtk_spin_button_set_value (spin_button, val); } + +/** + * gtk_spin_button_get_text: + * @spin_button: + * + * Returns: (transfer none): The text + */ +const char * +gtk_spin_button_get_text (GtkSpinButton *spin_button) +{ + GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button); + + g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), NULL); + + return gtk_entry_get_text (GTK_ENTRY (priv->entry)); +} + +/** + * gtk_spin_button_set_text: + * @spin_button + * + * + */ +void +gtk_spin_button_set_text (GtkSpinButton *spin_button, + const char *text) +{ + GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button); + + g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button)); + + gtk_entry_set_text (GTK_ENTRY (priv->entry), text); + + g_object_notify (G_OBJECT (spin_button), "text"); +} diff --git a/gtk/gtkspinbutton.h b/gtk/gtkspinbutton.h index 4abadc86a1..5dc3b7cd0e 100644 --- a/gtk/gtkspinbutton.h +++ b/gtk/gtkspinbutton.h @@ -227,6 +227,11 @@ GDK_AVAILABLE_IN_ALL gboolean gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button); GDK_AVAILABLE_IN_ALL void gtk_spin_button_update (GtkSpinButton *spin_button); +GDK_AVAILABLE_IN_3_92 +const char * gtk_spin_button_get_text (GtkSpinButton *spin_button); +GDK_AVAILABLE_IN_3_92 +void gtk_spin_button_set_text (GtkSpinButton *spin_button, + const char *text); G_END_DECLS -- 2.30.2